#-*- coding: utf-8 -*-
'''
author : Bruno Rendeiro 11236  \
			& André Simão 6039
date : 23 de outubro de 2012
obs : 3 parte

'''


import wx

import parte2

#cria as listas
listaAno=[ ]  #ano
listaIpc=[ ]  #ipc global
listaTaxa=[ ]  #taxa
listaMinimo=[ ]	#minimo
listaMaximo=[ ]	#maximo
listaPib=[ ]	#PIB
listaNacional=[ ]	#rendimento nacional
listaDisponivel=[ ]	#rendimento disponivel
listaRenumeracao=[ ]	#renumeracao
listaEvoMin=[ ]  #evolucao renumeracoes minimas
listaEvoMax=[ ]  #evolucao renumeracoes maximas




ID_EXIT = 110

class WindowClass(wx.Frame):
	

  def __init__(self,*args,**kwargs):
		super(WindowClass,self).__init__(*args,**kwargs)
		
<<<<<<< HEAD
		self.basic_gui()	

	def basic_gui(self):
=======
		self.basic_gui()
	 
  def basic_gui(self):
		
>>>>>>> d1287cc2015acfb8f25ec72b609863813192bde0
		
		panel = wx.Panel(self)		
		self.CreateStatusBar()
		self.SetStatusText("LP1415")		
		menuBar=wx.MenuBar()
		fileMenu=wx.Menu()
		exitItem=fileMenu.Append(ID_EXIT,'Sair','Sair da App') 
		menuBar.Append(fileMenu, '&File')
		
		
		'''
		Valor do ano do primeiro intervalo
		'''
		a=0
		while a >2012 or a <1977:
			anoDialog= wx.TextEntryDialog(None,'1977 a 2013','primeira data do intervalo?','')
			if anoDialog.ShowModal()== wx.ID_OK:
				ano1=anoDialog.GetValue()
				a=int(ano1)		
		anoDialog.Destroy()
			
		'''
		Valor do ano do segundo intervalo
		'''
		b=0
		while b >2013 or b < a:	
			ano2Dialog= wx.TextEntryDialog(None,ano1+' a 2013','segunda data do intervalo?','')
			if ano2Dialog.ShowModal()== wx.ID_OK:
				ano2=ano2Dialog.GetValue()
				b=int(ano2)				
		ano2Dialog.Destroy()	
			
		
		'''
		pedido de confirmacao
		'''
		yesNoDialog = wx.MessageDialog(None,'de '+ ano1 +" a "+ ano2 + ' tem a certesa?', 'Pergunta', wx.YES_NO)
		yesNoAnswer=yesNoDialog.ShowModal()
		yesNoDialog.Destroy()
		if yesNoAnswer == wx.ID_NO:			
			main()
			
		
		
		#preenche as listas com o intervalo de ano desejado
		parte2.preencher_listas(a,b,listaAno,listaIpc,listaTaxa,listaMinimo,listaMaximo,listaPib,listaNacional,listaDisponivel,listaRenumeracao,listaEvoMin,listaEvoMax)
		#preenche valores nulos das listas
		parte2.preencher_nulos(listaAno,listaIpc,listaTaxa,listaMinimo,listaMaximo,listaPib,listaNacional,listaDisponivel,listaRenumeracao,listaEvoMin,listaEvoMax)

		
					
		'''
		Escolha da lista que deseja
		'''	
		chooseOneBox = wx.SingleChoiceDialog(None,"que estatistica deseja?", "Listas",["IPC Global", \
			"Taxa Inflacao","remuneracao minima mensal dos funcionarios","remuneracao maxima mensal dos funcionarios",\
			"evolucao das remuneracoes","(PIB) per capita", "rendimento nacional anual bruto per capita",\
			"rendimento disponivel anual bruto per capita", "remuneracoes per capita anuais"])
		
		estat= None
		if chooseOneBox.ShowModal() == wx.ID_OK:
			estat = chooseOneBox.GetStringSelection()			
		chooseOneBox.Destroy()
			
				
		if estat=="IPC Global":
			parte2.estatistica(listaIpc)
			parte2.graf_recta(listaAno,listaIpc,"Grafico do IPC","ANO","IPC")
			aweText=wx.StaticText(panel,-1, "Estatistica  de IPC: ",(3,10))
			aweText.SetForegroundColour('blue')
			aweText=wx.StaticText(panel,-1,"Media: %s" % ( parte2.media(listaIpc)),(3,25))
			aweText=wx.StaticText(panel,-1,"Variancia: %s" % ( parte2.variancia(listaIpc)),(3,40))
			aweText=wx.StaticText(panel,-1,"Desvio Medio: %s" % ( parte2.desvioMedio(listaIpc)),(3,55))
			aweText=wx.StaticText(panel,-1,"Desvio Padrao: %s" % ( parte2.desvioPadrao(listaIpc)),(3,70))
			aweText=wx.StaticText(panel,-1,"Coeficiente de variacao: %s" % ( parte2.variacao(listaIpc)),(3,85))
			
			
			
		if estat=="Taxa Inflacao":
			parte2.estatistica(listaTaxa)	
			parte2.graf_recta(listaAno,listaTaxa,"Grafico da Taxa Inflacao","ANO","TAXA")
			aweText=wx.StaticText(panel,-1, "Estatistica  da taxa Inflacao: ",(3,10))
			aweText.SetForegroundColour('blue')
			aweText=wx.StaticText(panel,-1,"Media: %s" % ( parte2.media(listaTaxa)),(3,25))
			aweText=wx.StaticText(panel,-1,"Variancia: %s" % ( parte2.variancia(listaTaxa)),(3,40))
			aweText=wx.StaticText(panel,-1,"Desvio Medio: %s" % ( parte2.desvioMedio(listaTaxa)),(3,55))
			aweText=wx.StaticText(panel,-1,"Desvio Padrao: %s" % ( parte2.desvioPadrao(listaTaxa)),(3,70))
			aweText=wx.StaticText(panel,-1,"Coeficiente de variacao: %s" % ( parte2.variacao(listaTaxa)),(3,85))
			
			
			
		if estat=="remuneracao minima mensal dos funcionarios":
			parte2.estatistica(listaMinimo)
			parte2.graf_recta(listaAno,listaMinimo,"Grafico da Renumeracao minima","ANO","Renumercao")
			aweText=wx.StaticText(panel,-1, "Estatistica  de Renumeracao Minima: ",(3,10))
			aweText.SetForegroundColour('blue')
			aweText=wx.StaticText(panel,-1,"Media: %s" % ( parte2.media(listaMinimo)),(3,25))
			aweText=wx.StaticText(panel,-1,"Variancia: %s" % ( parte2.variancia(listaMinimo)),(3,40))
			aweText=wx.StaticText(panel,-1,"Desvio Medio: %s" % ( parte2.desvioMedio(listaMinimo)),(3,55))
			aweText=wx.StaticText(panel,-1,"Desvio Padrao: %s" % ( parte2.desvioPadrao(listaMinimo)),(3,70))
			aweText=wx.StaticText(panel,-1,"Coeficiente de variacao: %s" % ( parte2.variacao(listaMinimo)),(3,85))
			
			
		if estat=="remuneracao maxima mensal dos funcionarios":
			parte2.estatistica(listaMaximo)
			parte2.graf_recta(listaAno,listaMaximo,"Grafico da Renumeracao maxima","ANO","Renumercao")				
			aweText=wx.StaticText(panel,-1, "Estatistica  de Renumeracao Maxima: ",(3,10))
			aweText.SetForegroundColour('blue')
			aweText=wx.StaticText(panel,-1,"Media: %s" % ( parte2.media(listaMaximo)),(3,25))
			aweText=wx.StaticText(panel,-1,"Variancia: %s" % ( parte2.variancia(listaMaximo)),(3,40))
			aweText=wx.StaticText(panel,-1,"Desvio Medio: %s" % ( parte2.desvioMedio(listaMaximo)),(3,55))
			aweText=wx.StaticText(panel,-1,"Desvio Padrao: %s" % ( parte2.desvioPadrao(listaMaximo)),(3,70))
			aweText=wx.StaticText(panel,-1,"Coeficiente de variacao: %s" % ( parte2.variacao(listaMaximo)),(3,85))
			
			
		if estat=="evolucao das remuneracoes":
			print "minima:"
			parte2.estatistica(listaMinimo)
			print "\nmaxima:"
			parte2.estatistica(listaMaximo)
			parte2.graf_recta2(listaAno,listaMaximo,listaMinimo,"evolucao Renumeracoes","ANO","renumeracoes","maximas","minimas")
			aweText=wx.StaticText(panel,-1, "Estatistica  de Renumeracao Minima: ",(3,10))
			aweText.SetForegroundColour('blue')
			aweText=wx.StaticText(panel,-1,"Media: %s" % ( parte2.media(listaMinimo)),(3,25))
			aweText=wx.StaticText(panel,-1,"Variancia: %s" % ( parte2.variancia(listaMinimo)),(3,40))
			aweText=wx.StaticText(panel,-1,"Desvio Medio: %s" % ( parte2.desvioMedio(listaMinimo)),(3,55))
			aweText=wx.StaticText(panel,-1,"Desvio Padrao: %s" % ( parte2.desvioPadrao(listaMinimo)),(3,70))
			aweText=wx.StaticText(panel,-1,"Coeficiente de variacao: %s" % ( parte2.variacao(listaMinimo)),(3,85))
			aweText=wx.StaticText(panel,-1, "Estatistica  de Renumeracao Maxima: ",(3,100))
			aweText.SetForegroundColour('blue')
			aweText=wx.StaticText(panel,-1,"Media: %s" % ( parte2.media(listaMaximo)),(3,115))
			aweText=wx.StaticText(panel,-1,"Variancia: %s" % ( parte2.variancia(listaMaximo)),(3,130))
			aweText=wx.StaticText(panel,-1,"Desvio Medio: %s" % ( parte2.desvioMedio(listaMaximo)),(3,145))
			aweText=wx.StaticText(panel,-1,"Desvio Padrao: %s" % ( parte2.desvioPadrao(listaMaximo)),(3,160))
			aweText=wx.StaticText(panel,-1,"Coeficiente de variacao: %s" % ( parte2.variacao(listaMaximo)),(3,175))
						
		if estat=="(PIB) per capita":
			parte2.estatistica(listaPib)
			parte2.graf_recta(listaAno,listaPib,"Grafico do PIB","ANO","Pib")
			aweText=wx.StaticText(panel,-1, "Estatistica do Pib: ",(3,10))
			aweText.SetForegroundColour('blue')
			aweText=wx.StaticText(panel,-1,"Media: %s" % ( parte2.media(listaPib)),(3,25))
			aweText=wx.StaticText(panel,-1,"Variancia: %s" % ( parte2.variancia(listaPib)),(3,40))
			aweText=wx.StaticText(panel,-1,"Desvio Medio: %s" % ( parte2.desvioMedio(listaPib)),(3,55))
			aweText=wx.StaticText(panel,-1,"Desvio Padrao: %s" % ( parte2.desvioPadrao(listaPib)),(3,70))
			aweText=wx.StaticText(panel,-1,"Coeficiente de variacao: %s" % ( parte2.variacao(listaPib)),(3,85))
				
		if estat=="rendimento nacional anual bruto per capita":
			parte2.estatistica(listaNacional)
			parte2.graf_recta(listaAno,listaNacional,"Grafico do rendimento nacional","ANO","Pib")
			aweText=wx.StaticText(panel,-1, "Estatistica do rendimento nacional: ",(3,10))
			aweText.SetForegroundColour('blue')
			aweText=wx.StaticText(panel,-1,"Media: %s" % ( parte2.media(listaNacional)),(3,25))
			aweText=wx.StaticText(panel,-1,"Variancia: %s" % ( parte2.variancia(listaNacional)),(3,40))
			aweText=wx.StaticText(panel,-1,"Desvio Medio: %s" % ( parte2.desvioMedio(listaNacional)),(3,55))
			aweText=wx.StaticText(panel,-1,"Desvio Padrao: %s" % ( parte2.desvioPadrao(listaNacional)),(3,70))
			aweText=wx.StaticText(panel,-1,"Coeficiente de variacao: %s" % ( parte2.variacao(listaNacional)),(3,85))
				
		if estat=="rendimento disponivel anual bruto per capita":
			parte2.estatistica(listaDisponivel)
			parte2.graf_recta(listaAno,listaDisponivel,"Grafico do rendimento disponivel anual","ANO","rendimento")	
			aweText=wx.StaticText(panel,-1, "Estatistica  rendimento disponivel: ",(3,10))
			aweText.SetForegroundColour('blue')
			aweText=wx.StaticText(panel,-1,"Media: %s" % ( parte2.media(listaDisponivel)),(3,25))
			aweText=wx.StaticText(panel,-1,"Variancia: %s" % ( parte2.variancia(listaDisponivel)),(3,40))
			aweText=wx.StaticText(panel,-1,"Desvio Medio: %s" % ( parte2.desvioMedio(listaDisponivel)),(3,55))
			aweText=wx.StaticText(panel,-1,"Desvio Padrao: %s" % ( parte2.desvioPadrao(listaDisponivel)),(3,70))
			aweText=wx.StaticText(panel,-1,"Coeficiente de variacao: %s" % ( parte2.variacao(listaDisponivel)),(3,85))
								
		if estat=="remuneracoes per capita anuais":
			parte2.estatistica(listaRenumeracao)
			parte2.graf_recta(listaAno,listaRenumeracao,"Grafico do renumeracoes per capita anual","ANO","renumeracoes")
			aweText=wx.StaticText(panel,-1, "Estatistica  renumeracoes per capita anual: ",(3,10))
			aweText.SetForegroundColour('blue')
			aweText=wx.StaticText(panel,-1,"Media: %s" % ( parte2.media(listaRenumeracao)),(3,25))
			aweText=wx.StaticText(panel,-1,"Variancia: %s" % ( parte2.variancia(listaRenumeracao)),(3,40))
			aweText=wx.StaticText(panel,-1,"Desvio Medio: %s" % ( parte2.desvioMedio(listaRenumeracao)),(3,55))
			aweText=wx.StaticText(panel,-1,"Desvio Padrao: %s" % ( parte2.desvioPadrao(listaRenumeracao)),(3,70))
			aweText=wx.StaticText(panel,-1,"Coeficiente de variacao: %s" % ( parte2.variacao(listaRenumeracao)),(3,85))
			
		self.SetMenuBar(menuBar)		
		self.Bind(wx.EVT_MENU,self.onQuit,exitItem)	
		
			
		self.SetSize((400,300))
		self.SetTitle('Estatistica  de '+ estat)			
		
		self.Show()
			
   def onQuit(self,e):
		self.Close()
		
def main():		
	app=wx.App()
	WindowClass(None)
	app.MainLoop()
	
main()

